import KoaRouter from 'koa-router'
import Config from '@/config/Config'
import { Models } from '@/common/typings/modle'
import { Buffer } from '@/core/HttpException'
import svgCaptcha from 'svg-captcha'
const router = new KoaRouter({
  prefix: `${Config.API_PREFIX}v1/system/smsCode`,
})
router.post('/get', async (ctx: Models.Ctx) => {
  const captcha: svgCaptcha.CaptchaObj = svgCaptcha.create({
    size: 4, //验证码长度
    fontSize: 45, //验证码字号
    // ignoreChars: '0o1il', // 过滤掉某些字符， 如 0o1i
    noise: 10, //干扰线条数目
    width: 100, //宽度
    // heigth:40,//高度
    color: true, //验证码字符是否有颜色，默认是没有，但是如果设置了背景颜色，那么默认就是有字符颜色
    background: '#cc9966', //背景
    charPreset: '0123456789',
  })
  ctx.session!.smsCode = JSON.stringify({ smsCode: captcha.text, expire: Date.now() + 5 * 60 * 1000 }) //把验证码赋值给session
  ctx.smsCodeObj = { smsCode: captcha.text, expire: Date.now() + 5 * 60 * 1000 }
  throw new Buffer({ data: captcha.data, responseType: 'image/svg+xml', session: ctx.session!.smsCode })
})
export default router
